home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / WIRESAG.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-29  |  6.7 KB  |  218 lines

  1. 10  'WIRESAG - Sag in long spans of wire - 24 JAN 94 rev. 28 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  CLS:KEY OFF
  4. 40  COLOR 7,0,1
  5. 50  DIM W(9,4)       'wire data
  6. 60  PI=3.14159
  7. 70  UL$=STRING$(80,205)
  8. 80  DATA 4,.2043
  9. 90  DATA 6,.162
  10. 100  DATA 10,.1019
  11. 110  DATA 10,.1019
  12. 120  DATA 12,.0808
  13. 130  DATA 14,.0641
  14. 140  DATA 16,.0508
  15. 150  DATA 18,.0403
  16. 160  DATA 20,.0320
  17. 170  '
  18. 180  FOR Z=1 TO 9
  19. 190  READ W(Z,1)        'AWG size
  20. 200  READ W(Z,2)        'wire diameter
  21. 210  R=W(Z,2)/2         'wire radius
  22. 220  W(Z,4)=3.14159*R^2*12000*0.321    'lbs./1000 ft. hard-drawn copper
  23. 230  W(Z,3)=W(Z,4)*0.916                'lbs./1000 ft. copperweld
  24. 240  NEXT Z
  25. 250  '
  26. 260  'start
  27. 270  CLS
  28. 280  COLOR 15,2
  29. 290  PRINT " WIRE SAG in Horizontal Wire Antennas";
  30. 300  PRINT TAB(57);"by George Murphy VE3ERP ";
  31. 310  COLOR 1,0:PRINT STRING$(80,223);
  32. 320  COLOR 7,0
  33. 330  PRINT TAB(6);
  34. 340  PRINT"The amount of sag calculated by this program should be increased by"
  35. 350  PRINT TAB(6);
  36. 360  PRINT"a factor of from about 1.5 to 2.0 if an unsupported heavy feeder"
  37. 370  PRINT TAB(6);
  38. 380  PRINT"line is suspended from the horizontal wire."
  39. 390  PRINT
  40. 400  COLOR 7:LOCATE CSRLIN,22:COLOR 0,7
  41. 410  PRINT " Press 1 to continue or 0 to EXIT.....":COLOR 7,0
  42. 420  Z$=INKEY$:IF Z$=""THEN 420
  43. 430  IF Z$="0"THEN CLS:RUN EX$
  44. 440  IF Z$="1"THEN 460
  45. 450  GOTO 420
  46. 460  COLOR 7,0
  47. 470  '
  48. 480  '.....start
  49. 490  GOSUB 1580      'text
  50. 500  GOSUB 2050      'screen dump
  51. 510  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  52. 520  PRINT " Press number in < > to choose standard units of measure:"
  53. 530  PRINT UL$;
  54. 540  PRINT "  < 1 >  Metric"
  55. 550  PRINT "  < 2 >  U.S.A./Imperial"
  56. 560  PRINT UL$;
  57. 570  Z$=INKEY$:IF Z$=""THEN 570
  58. 580  M=VAL(Z$):IF M=1 OR M=2 THEN 610
  59. 590  GOTO 570
  60. 600  '
  61. 610  IF M=1 THEN M=2:GOTO 630
  62. 620  IF M=2 THEN M=1:GOTO 630
  63. 630  IF M=2 THEN M$="metres"ELSE M$="feet"
  64. 640  PRINT " ENTER: Length of wire to be suspended between supports, in ";M$;
  65. 650  INPUT Z:LW=Z/2      'LW=one half the distance between supports
  66. 660  IF M=2 THEN FT=LW*3.2808 ELSE FT=LW
  67. 670  CLS
  68. 680  COLOR 1,2:PRINT STRING$(80,223);
  69. 690  COLOR 2,2:PRINT STRING$(80,32);
  70. 700  COLOR 15,2:LOCATE CSRLIN-1,6
  71. 710  PRINT " RECOMMENDED MINIMUM SAG in a HORIZONTAL WIRE ANTENNA";LW*2;M$;" long "
  72. 720  COLOR 2,1:PRINT STRING$(80,223);
  73. 730  COLOR 7,0
  74. 740  PRINT "Wire      CALLVARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND COPPERWELD SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLORCALLVARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUND HARD-DRAWN COPPER SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLOR";
  75. 750  PRINT "Size  WireCALL lbs./   Wire  VARPTRSOUNDSOUNDSOUNDRecommendedSOUNDSOUNDSOUNDCOLORCALL lbs./   Wire  VARPTRSOUNDSOUNDSOUNDRecommendedSOUNDSOUNDSOUNDCOLOR";
  76. 760  PRINT "AWG#  Dia.CALL M ft.  Weight   Tension     Sag  CALL M ft.. Weight   Tension     Sag"
  77. 770  PRINT UL$;
  78. 780  LOCATE CSRLIN-1,11:PRINT "INSTR":LOCATE CSRLIN-1,46:PRINT "INSTR"
  79. 790  FOR Z=1 TO 9
  80. 800  AWG=W(Z,1)
  81. 810  PRINT USING "##";AWG;
  82. 820  DIA=W(Z,2)
  83. 830  IF M=1 THEN PRINT "  ";USING ".####";DIA;:PRINT CHR$(34);"CALL";
  84. 840  IF M=2 THEN PRINT USING "###.##";DIA*25.4;:PRINT "mmCALL";
  85. 850  PRINT USING "####.#";W(Z,3);
  86. 860  A=PI*(DIA/2)^2                 'cross section area
  87. 870  SF=0.129                        'sag factor
  88. 880  '
  89. 890  W1=W(Z,3)*FT/1000              'weight - copperweld
  90. 900  E1=15000                       'modulus for copperweld
  91. 910  F1=E1*A                        'tension for copperweld
  92. 920  S1=W1^2/A*SF/F1                'sag for copperweld
  93. 930  D1=2*SQR((FT/2)^2-(4/3*S1^2))  'distance between supports
  94. 940  '
  95. 950  W2=W(Z,4)*FT/1000              'weight - hard-drawn copper
  96. 960  E2=6350                        'modulus for hard-drawn copper
  97. 970  F2=E2*A                        'tension for hard-drawn copper
  98. 980  S2=W2^2/A*SF/F2                'sag for hard-drawn copper
  99. 990  IF(FT/2)^2<(4/3*S2^2)THEN BEEP:GOTO 1460
  100. 1000  D2=2*SQR((FT/2)^2-(4/3*S2^2))  'distance between supports
  101. 1010  '
  102. 1020  U$="####.#"
  103. 1030  IF M=1 THEN PRINT TAB(18);USING U$;W1;:PRINT " lb";
  104. 1040  IF M=2 THEN PRINT TAB(18);USING U$;W1/2.2046;:PRINT " Kg";
  105. 1050  IF M=1 THEN PRINT TAB(28);USING U$;F1;:PRINT " lb";
  106. 1060  IF M=2 THEN PRINT TAB(28);USING U$;F1/2.0246;:PRINT " Kg";
  107. 1070  IF M=1 THEN PRINT TAB(38);USING U$;S1;:PRINT "' CALL";
  108. 1080  IF M=2 THEN PRINT TAB(38);USING U$;S1*0.3048;:PRINT " mCALL";
  109. 1090  PRINT USING "####.#";W(Z,4);
  110. 1100  IF M=1 THEN PRINT TAB(53);USING U$;W2;:PRINT " lb";
  111. 1110  IF M=2 THEN PRINT TAB(53);USING U$;W2/2.0246;:PRINT " Kg";
  112. 1120  IF M=1 THEN PRINT TAB(63);USING U$;F2;:PRINT " lb";
  113. 1130  IF M=2 THEN PRINT TAB(63);USING U$;F2/2.2046;:PRINT " Kg";
  114. 1140  IF M=1 THEN PRINT TAB(73);USING U$;S2;:PRINT "'"
  115. 1150  IF M=2 THEN PRINT TAB(73);USING U$;S2*0.3048;:PRINT " m";
  116. 1160  NEXT Z
  117. 1170  '
  118. 1180  PRINT UL$;
  119. 1190  LOCATE CSRLIN-1,11:PRINT "INSTR":LOCATE CSRLIN-1,46:PRINT "INSTR"
  120. 1200  PRINT "Lgth./Sag:";TAB(11);"CALL";
  121. 1210  SR1=FT*2/S1:SP1=S1/(FT*2)*100
  122. 1220  SR2=FT*2/S2:SP2=S2/(FT*2)*100
  123. 1230  A=SR1:GOSUB 1520
  124. 1240  PRINT " ratio=";USING A$;A;:PRINT ":1";
  125. 1250  A=SP1:GOSUB 1520
  126. 1260  PRINT "  sag= ";USING A$;A;:PRINT "% of lgth.";
  127. 1270  PRINT TAB(46);"CALL";
  128. 1280  A=SR2:GOSUB 1520
  129. 1290  PRINT " ratio=";USING A$;A;:PRINT ":1";
  130. 1300  A=SP2:GOSUB 1520
  131. 1310  PRINT "  sag= ";USING A$;A;:PRINT "% of lgth.";
  132. 1320  PRINT UL$;
  133. 1330  LOCATE CSRLIN-1,11:PRINT "STEP":LOCATE CSRLIN-1,46:PRINT "INSTR"
  134. 1340  IF M=2 THEN X=D1/3.2808:X$="m" ELSE X=D1:X$="'"
  135. 1350  PRINT "Distance between wire ends:";TAB(38);USING "####.##";X*2;
  136. 1360  PRINT X$;"CALL";
  137. 1370  IF M=2 THEN X=D2/3.2808:X$="m" ELSE X=D2:X$="'"
  138. 1380  PRINT TAB(73);USING "####.##";X*2;:PRINT X$;
  139. 1390  PRINT UL$;
  140. 1400  LOCATE CSRLIN-1,46:PRINT "STEP"
  141. 1410  PRINT "NOTE: All calculated values have been rounded-off."
  142. 1420  PRINT UL$;
  143. 1430  GOSUB 2050
  144. 1440  GOTO 260   'start
  145. 1450  '
  146. 1460  '.....excessive length
  147. 1470  VIEW PRINT 8 TO 24:CLS:VIEW PRINT:LOCATE 10
  148. 1480  PRINT " NOT RECOMMENDED!  Sag exceeds practical limit....press any key...."
  149. 1490  IF INKEY$=""THEN 1490
  150. 1500  GOTO 260   'start
  151. 1510  '
  152. 1520  '.....format
  153. 1530  A$="###.#"
  154. 1540  IF A<100 THEN A$="##.#"
  155. 1550  IF A<10 THEN A$="#.#"
  156. 1560  RETURN
  157. 1570  '
  158. 1580  '.....text block
  159. 1590  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  160. 1600  TB=7     'tab for text
  161. 1610  PRINT TAB(TB);
  162. 1620  PRINT "  The sag in a horizontal wire is the distance between the centre"
  163. 1630  PRINT TAB(TB);
  164. 1640  PRINT "of the wire and an imaginary line drawn between its ends. The"
  165. 1650  PRINT TAB(TB);
  166. 1660  PRINT "minimum amount of sag should be such that the tension in the wire"
  167. 1670  PRINT TAB(TB);
  168. 1680  PRINT "due to its own weight does not exceed 10% of the breaking point of"
  169. 1690  PRINT TAB(TB);
  170. 1700  PRINT "of the wire. This will allow for additional normal stresses due to"
  171. 1710  PRINT TAB(TB);
  172. 1720  PRINT "wind and ice loading and lightweight feedlines without stretching"
  173. 1730  PRINT TAB(TB);
  174. 1740  PRINT "the wire."
  175. 1750  PRINT TAB(TB);
  176. 1760  PRINT "  Decreasing the recommended sag by pulling the wire tighter"
  177. 1770  PRINT TAB(TB);
  178. 1780  PRINT "increases the tension, causing the wire to stretch and change its"
  179. 1790  PRINT TAB(TB);
  180. 1800  PRINT "electrical properties at RF frequencies as well as lowering its"
  181. 1810  PRINT TAB(TB);
  182. 1820  PRINT "breaking point. This can start a continuing cycle of further"
  183. 1830  PRINT TAB(TB);
  184. 1840  PRINT "sagging of the weakened wire due to its own weight and retightening"
  185. 1850  PRINT TAB(TB);
  186. 1860  PRINT "to reduce the sag until the recurring over-stressing of the"
  187. 1870  PRINT TAB(TB);
  188. 1880  PRINT "increasingly weakened wire causes it to break under normal loads."
  189. 1890  PRINT TAB(TB);
  190. 1900  PRINT "  Contrary to a popular misconception, reducing the wire size does"
  191. 1910  PRINT TAB(TB);
  192. 1920  PRINT "not reduce the recommended amount of sag. While the overall weight"
  193. 1930  PRINT TAB(TB);
  194. 1940  PRINT "will be reduced the lower breaking point of the smaller wire will"
  195. 1950  PRINT TAB(TB);
  196. 1960  PRINT "result in the recommended sag remaining the same."
  197. 1970  PRINT TAB(TB);
  198. 1980  PRINT "  Do not use aluminum or soft copper wire for antennas. To meet the"
  199. 1990  PRINT TAB(TB);
  200. 2000  PRINT "design criteria expressed above, excessively large and unsightly"
  201. 2010  PRINT TAB(TB);
  202. 2020  PRINT "amounts of sag would be required."
  203. 2030  RETURN
  204. 2040  '
  205. 2050  'HARDCOPY
  206. 2060  GOSUB 2170:LOCATE 25,2:COLOR 14,6
  207. 2070  PRINT " Press 1 to print screen, 2 to print screen & ";
  208. 2080  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  209. 2090  Z$=INKEY$:IF Z$="3"THEN GOSUB 2170:RETURN
  210. 2100  IF Z$="1"OR Z$="2"THEN GOSUB 2170:GOTO 2120
  211. 2110  GOTO 2090
  212. 2120  FOR QX=1 TO 24:FOR QY=1 TO 80
  213. 2130  LPRINT CHR$(SCREEN(QX,QY));
  214. 2140  NEXT QY:NEXT QX
  215. 2150  IF Z$="2"THEN LPRINT CHR$(12)
  216. 2160  GOTO 2060
  217. 2170  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  218.